package gui.dialogs;

import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.StringTokenizer;
import java.util.Vector;

import gui.DBConnect;
import gui.IntStr;
import gui.main.Jegyek;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class kedvezmenyPanel {
	private JFrame ablak;
	private JPanel bal, jobb,fo, nyugtaz;
	private JButton ok;
	private JLabel[] szekszam;
	private JComboBox[] jegytipus;
	public kedvezmenyPanel(final int musorid){
		DBConnect dbc = new DBConnect();
		fo = new JPanel();
		bal = new JPanel();
		jobb = new JPanel();
		ablak = new JFrame();
		ablak.setLayout(new GridLayout(2,1));
		String str = Jegyek.getFoglalando();
		int sorszam;
		Vector<IntStr> jegyek = dbc.KedvezmenyLista(musorid);

		fo.setLayout(new GridLayout(1,2));
		if(!(str.isEmpty())){
			str = str.substring(1, str.length()-1);
			StringTokenizer st = new StringTokenizer(str, ",");
			sorszam = st.countTokens();
			szekszam = new JLabel[sorszam];
			jegytipus = new JComboBox[sorszam];
			bal.setLayout(new GridLayout(sorszam, 1));
			jobb.setLayout(new GridLayout(sorszam,1));
			for(int i=0;st.hasMoreTokens() ;i++){
				jegytipus[i]= new JComboBox();
				szekszam[i]=new JLabel(st.nextToken());
				bal.add(szekszam[i]);
				for(int j=0;j<jegyek.size();j++){
					jegytipus[i].addItem(jegyek.get(j));
				}
				jobb.add(jegytipus[i]);
			}
			ok = new JButton("OK");
			ok.addActionListener(new ActionListener(){

				@Override
				public void actionPerformed(ActionEvent arg0) {
					// TODO Auto-generated method stub
					
					vegOsszeg(musorid, gyujt());
					ablak.setVisible(false);
					ablak.dispose();
				}
				
			});
		}
		fo.add(bal);
		fo.add(jobb);
		ablak.add(fo);
		ablak.add(ok);
		ablak.setSize(300,400);
		ablak.setVisible(true);
	}
	public Vector<Integer> gyujt(){
		Vector<Integer> jegy = new Vector<Integer>();
		for(int i=0;i<jegytipus.length;i++){
			jegy.add(((IntStr) jegytipus[i].getSelectedItem()).getId());
		}
		Jegyek.setKedvezmenyek(jegy);
		return jegy;
	}
	public void vegOsszeg(int musorid, Vector<Integer> helyek){
		DBConnect dbc = new DBConnect();
		Vector<IntStr> v =dbc.getJegyArak(musorid);
		int osszeg=0;
		for(int i=0;i<helyek.size();i++){
			int j=0;
			int temp;
			do{
				temp=v.get(j).getId();
				j++;
			}while(temp!=helyek.get(i));
			osszeg+=Integer.parseInt(v.get(j-1).getAdat());
		}
		Jegyek.setAr(osszeg);
		Jegyek.enableFizetes();
	}
}
